package com.qianfeng.es.springboot.pojo;

//
//                            _ooOoo_
//                           o8888888o
//                           88" . "88
//                           (| -_- |)
//                            O\ = /O
//                        ____/`---'\____
//                      .   ' \\| |// `.
//                       / \\||| : |||// \
//                     / _||||| -:- |||||- \
//                       | | \\\ - /// | |
//                     | \_| ''\---/'' | |
//                      \ .-\__ `-` ___/-. /
//                   ___`. .' /--.--\ `. . __
//                ."" '< `.___\_<|>_/___.' >'"".
//               | | : `- \`.;`\ _ /`;.`/ - ` : | |
//                 \ \ `-. \_ __\ /__ _/ .-` / /
//         ======`-.____`-.___\_____/___.-`____.-'======
//                            `=---='
//
//         .............................................
//                  佛祖镇楼                  BUG辟易
//          佛曰:
//                  写字楼里写字间，写字间里程序员；
//                  程序人员写程序，又拿程序换酒钱。
//                  酒醒只在网上坐，酒醉还来网下眠；
//                  酒醉酒醒日复日，网上网下年复年。
//                  但愿老死电脑间，不愿鞠躬老板前；
//                  奔驰宝马贵者趣，公交自行程序员。
//                  别人笑我忒疯癫，我笑自己命太贱；
//


import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonInclude;
import org.springframework.data.annotation.Id;
import org.springframework.data.elasticsearch.annotations.DateFormat;
import org.springframework.data.elasticsearch.annotations.Document;
import org.springframework.data.elasticsearch.annotations.Field;
import org.springframework.data.elasticsearch.annotations.FieldType;

import java.util.Date;

/**
 * Created by Jackiechan on 2022/10/13 16:50
 *
 * @author Jackiechan
 * @version 1.0
 * @since 1.0
 */


@JsonInclude(JsonInclude.Include.NON_EMPTY)
@Document(indexName = "sms-logs-index") //声明是一个用于封装es中数据的对象,指定index名字
public class SmsBean {

    @Id //声明是主键,接收es中的id数据
    private Long id;

    @Field(type = FieldType.Keyword)//声明当前是一个field,类型是keyword,名字和变量名一致
    private String corpName;

    @Field(type = FieldType.Keyword)//声明当前是一个field,类型是keyword,名字和变量名一致
    private String mobile;

    @Field(type = FieldType.Date, format = DateFormat.custom, pattern = "yyyy-MM-dd HH:mm:ss")//声明当前是日期类型,格式为自定义格式,
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createDate;

    @Field(type = FieldType.Date, format = DateFormat.custom, pattern = "yyyy-MM-dd HH:mm:ss")//声明当前是日期类型,格式为自定义格式,
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date sendDate;


    @Field(type = FieldType.Keyword)//声明当前是一个field,类型是keyword,名字和变量名一致
    private String longCode;

    @Field(type = FieldType.Text, analyzer = "ik_max_word")//声明当前是一个field,类型是text,名字和变量名一致,分词器是ik_max_word
    private String smsContent;

    @Field(type = FieldType.Integer)//声明当前是一个field,类型是int,名字和变量名一致
    private Integer state;

    @Field(type = FieldType.Keyword)//声明当前是一个field,类型是keyword,名字和变量名一致
    private String province;

    @Field(type = FieldType.Integer)//声明当前是一个field,类型是int,名字和变量名一致
    private Integer operatorId;

    @Field(type = FieldType.Ip)//声明当前是一个field,类型是ip,名字和变量名一致
    private String ipAddr;

    @Field(type = FieldType.Integer)//声明当前是一个field,类型是int,名字和变量名一致
    private Integer replyTotal;

    @Field(type = FieldType.Integer)//声明当前是一个field,类型是int,名字和变量名一致
    private Integer fee;

    public String getCorpName() {
        return corpName;
    }

    public void setCorpName(String corpName) {
        this.corpName = corpName;
    }

    public String getMobile() {
        return mobile;
    }

    public void setMobile(String mobile) {
        this.mobile = mobile;
    }

    public Date getCreateDate() {
        return createDate;
    }

    public void setCreateDate(Date createDate) {
        this.createDate = createDate;
    }

    public Date getSendDate() {
        return sendDate;
    }

    public void setSendDate(Date sendDate) {
        this.sendDate = sendDate;
    }

    public String getLongCode() {
        return longCode;
    }

    public void setLongCode(String longCode) {
        this.longCode = longCode;
    }

    public String getSmsContent() {
        return smsContent;
    }

    public void setSmsContent(String smsContent) {
        this.smsContent = smsContent;
    }

    public Integer getState() {
        return state;
    }

    public void setState(Integer state) {
        this.state = state;
    }

    public String getProvince() {
        return province;
    }

    public void setProvince(String province) {
        this.province = province;
    }

    public Integer getOperatorId() {
        return operatorId;
    }

    public void setOperatorId(Integer operatorId) {
        this.operatorId = operatorId;
    }

    public String getIpAddr() {
        return ipAddr;
    }

    public void setIpAddr(String ipAddr) {
        this.ipAddr = ipAddr;
    }

    public Integer getReplyTotal() {
        return replyTotal;
    }

    public void setReplyTotal(Integer replyTotal) {
        this.replyTotal = replyTotal;
    }

    public Integer getFee() {
        return fee;
    }

    public void setFee(Integer fee) {
        this.fee = fee;
    }
}

